<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Strict//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
		<meta http-equiv="pragma" content="no-cache">
		<meta http-equiv="cache-control" content="no-cache">
		<meta http-equiv="expires" content="0"><meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" /> 
        <title>Welcome to Design Zone......</title>
        <link rel="stylesheet" type="text/css" href="../../scripts/ext/resources/css/ext-all.css" />
        <link rel="stylesheet" type="text/css" href="../../styles/dzbase.css" />
        <script type="text/javascript" src="../../scripts/ext/adapter/ext-base.js">
        </script>
        <script type="text/javascript" src="../../scripts/ext/ext-all.js">
        </script>
        <script type="text/javascript" src="../../scripts/menu/EditableItem.js">
        </script>
        <script type="text/javascript" src="../../scripts/menu/RangeMenu.js">
        </script>
        <script type="text/javascript" src="../../scripts/grid/GridFilters.js">
        </script>
        <script type="text/javascript" src="../../scripts/grid/filter/Filter.js">
        </script>
        <script type="text/javascript" src="../../scripts/grid/filter/StringFilter.js">
        </script>
        <script type="text/javascript" src="../../scripts/grid/filter/ListFilter.js">
        </script>
        <script type="text/javascript" src="../../scripts/grid/RowExpander.js">
        </script>
        <script type="text/javascript" src="../../scripts/i18nMessage.js">
        </script>
        <script type="text/javascript" src="../../scripts/utils.js">
        </script>
        <script type="text/javascript">
            var ppMessage = new i18nMessage('../../servlet/I18nMessageServlet?keyPrefix=ui.package');
            var referenceMessage = new i18nMessage('../../servlet/I18nMessageServlet?keyPrefix=ui.reference');
            var message = new i18nMessage('../../servlet/I18nMessageServlet?keyPrefix=message');
            var fcMessage = new i18nMessage('../../servlet/I18nMessageServlet?keyPrefix=ui.francecustomer');
			
            var store;
            var grid;
			
			var deleteCallback = function(btn){
                if (btn == 'yes') {
                    Ext.Ajax.request({
                        url: '../../servlet/ProductPackageServlet?action=2&id=' + deleteId,
                        success: function(o){
                            if (o.responseText == 'success') {
                                store.reload();
                                messageTip.msg(message.get('message.tip'), message.get('message.delete.successful'));
                            }
                            else {
                                messageTip.msg(message.get('message.tip'), message.get('message.delete.unsuccessful'));
                            }
                        },
                        failure: function(o){
                            messageTip.msg(message.get('message.tip'), message.get('message.delete.failure'));
                        },
                        params: {
                            foo: 'bar'
                        }
                    });
                }
            }
			
			var calculateCallback = function(btn){
				if (btn == 'yes') {
                    Ext.Ajax.request({
                        url: '../../servlet/ProductPackageServlet?action=103&id=' + calculateId,
                        success: function(o){
                            if (o.responseText == 'success') {
                                messageTip.msg(message.get('message.tip'), message.get('message.calculate.successful'));
                            }
                            else {
                                messageTip.msg(message.get('message.tip'), message.get('message.calculate.unsuccessful'));
                            }
                        },
                        failure: function(o){
                            messageTip.msg(message.get('message.tip'), message.get('message.calculate.failure'));
                        },
                        params: {
                            foo: 'bar'
                        }
                    });
                }
			}
            
            Ext.onReady(function(){
                Ext.QuickTips.init();
                Ext.form.Field.prototype.msgTarget = 'side';
                
                
                store = new Ext.data.Store({
                    url: '../../servlet/ProductPackageServlet?action=4',
                    reader: new Ext.data.XmlReader({
                        record: 'item',
                        id: 'id',
                        totalRecords: 'itemTotal'
                    }, ['index', 'consignor', 'recipient', 'unit', 'createTime', 'invoiceNumber', 'comment',
					 {
					 	name: 'biFranceCustomer.name', 
					 	mapping: 'customerName'
					 },{
					 	name: 'biFranceCustomer.department',
					 	mapping: 'customerDepartment'
					},
					 'id']),
                    
                    remoteSort: true
                });
                
                store.setDefaultSort('id', 'desc');
                
                var filters = new Ext.grid.GridFilters({
                    filters: [{
                        type: 'string',
                        dataIndex: 'invoiceNumber'
                    },{
                        type: 'string',
                        dataIndex: 'invoiceNumber'
                    },{
						type: 'string', 
						dataIndex: 'biFranceCustomer.name'
					},{
						type: 'string', 
						dataIndex: 'biFranceCustomer.department'
					}]
                });
                
                grid = new Ext.grid.GridPanel({
                    title: ppMessage.get('ui.package.listtitle'),
                    store: store,
                    stripeRows: true,
                    plugins: filters,
                    height: 560,
                    columns: [{
                        header: message.get('message.list.id'),
                        width: 50,
                        dataIndex: 'index',
                        sortable: false
                    }, {
                        header: ppMessage.get('ui.package.createtime') + '(d/m/Y)',
                        dataIndex: 'createTime',
                        sortable: true
                    }, {
                        header: ppMessage.get('ui.package.invoice'),
                        dataIndex: 'invoiceNumber',
                        sortable: true
                    }, {
                        header: message.get('message.edit.customername'),
                        dataIndex: 'biFranceCustomer.name',
                        sortable: true
                    },{
                        header: fcMessage.get('ui.francecustomer.department'),
                        dataIndex: 'biFranceCustomer.department',
                        sortable: true
                    }, {
                        header: ppMessage.get('ui.package.consignor'),
                        dataIndex: 'consignor',
                        sortable: true
                    }, {
                        header: ppMessage.get('ui.package.recipient'),
                        dataIndex: 'recipient',
                        sortable: true
                    }, {
                        header: ppMessage.get('ui.package.unit'),
                        dataIndex: 'unit',
                        sortable: true
                    },{
                        header: message.get('message.list.eidtitem'),
                        width: 50,
                        dataIndex: 'id',
                        sortable: false,
                        renderer: renderEditItem
                    }, {
                        header: message.get('message.list.calculate'),
                        width: 50,
                        dataIndex: 'id',
                        sortable: false,
                        renderer: renderCalculate
                    },{
                        header: ppMessage.get('ui.package.edititemlist'),
                        width: 50,
                        dataIndex: 'id',
                        sortable: false,
                        renderer: renderItemEdit
                    }, {
                        header: ppMessage.get('ui.package.output'),
                        width: 50,
                        dataIndex: 'id',
                        sortable: false,
                        renderer: renderOutput
                    },{
                        header: message.get('message.list.eidt'),
                        width: 50,
                        dataIndex: 'id',
                        sortable: false,
                        renderer: renderEdit
                    }, {
                        header: message.get('message.list.delete'),
                        width: 50,
                        dataIndex: 'id',
                        sortable: false,
                        renderer: renderDelete
                    }],
                    viewConfig: {
                        forceFit: true
                    },
                    loadMask: true,
                    renderTo: 'productPackageGrid',
                    bbar: new Ext.PagingToolbar({
                        pageSize: 20,
                        store: store,
                        displayInfo: true
                    })
                });
                
                var startPage = getPrarmeterValue(window.location, 'startPage');
                var start;
                if (startPage == null || startPage == '') {
                    start = 0;
                }
                else {
                    start = (startPage - 1) * 20;
                }
                store.load({
                    params: {
                        start: start,
                        limit: 20
                    }
                });
				
				function renderItemEdit(value, p, record){
					return String.format('<a href="product_package_item_table.html?id={0}&startPage={1}" target="_self"><img src="../../images/icons/package_go.png" title="' + ppMessage.get('ui.package.edititemlist') + '" /></a>', record.id, Math.floor((record.data.index - 1) / 20) + 1);
				}
				
				function renderOutput(value, p, record){
					return String.format('<a href="product_package_item_table.jsp?id={0}" target="_blank"><img src="../../images/icons/package.png" title="' + ppMessage.get('ui.package.output') + '" /></a>', record.id);
				}
                
				function renderCalculate(value, p, record){
					return String.format('<a href="javascript: calculate(calculateCallback, {0});" target="_self"><img src="../../images/icons/calculator.png" title="' + message.get('message.list.calculate') + '" /></a>', record.id);
				}
				
				function renderEditItem(value, p, record){
					return String.format('<a href="product_package_item_edit.html?id={0}&startPage={1}" target="_self"><img src="../../images/icons/sitemap_color.png" title="' + message.get('message.list.eidt') + message.get('message.list.eidtitem') + '" /></a>', record.id, Math.floor((record.data.index - 1) / 20) + 1);
				}
				
				function renderEdit(value, p, record){
                    return String.format('<a href="product_package_edit.html?id={0}&startPage={1}" target="_self"><img src="../../images/icons/pencil.png" title="' + message.get('message.list.eidt') + '" /></a>', record.id, Math.floor((record.data.index - 1) / 20) + 1);
                }
                
                function renderDelete(value, p, record){
                    return String.format('<a href="javascript: deleteItem(deleteCallback, {0});"><img src="../../images/icons/delete.png" title="' + message.get('message.list.delete') + '"/></a>', record.id);
                }
                
            });
        </script>
    </head>
    <body>
        <div id="productPackageGrid">
        </div>
    </body>
</html>
